/**************************************************************************************************
* Title: SumBoundingSphere.h
* Author: Gael Huber
* Description: A bounding sphere
**************************************************************************************************/
#ifndef __SUMBOUNDINGSPHERE_H__
#define __SUMBOUNDINGSPHERE_H__

#include "SumMath.h"

class BoundingSphere {
public:
	// Constructors and destructors
	BoundingSphere(void);
	BoundingSphere(const Vector3_16f& p, float r);
	BoundingSphere(const BoundingSphere& rhs);
	~BoundingSphere(void);

	// Assignment operator
	BoundingSphere& operator=(const BoundingSphere& rhs);

	// Equivalence operators
	bool operator==(const BoundingSphere& rhs);
	bool operator!=(const BoundingSphere& rhs);

	// Accessors
	Vector3_16f& position(void);
	const Vector3_16f& position(void) const;
	float radius(void);
	float radius(void) const;

private:
	// Position vector
	Vector3_16f _position;

	// Radius
	float _radius;
};

#endif